﻿<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../layui/css/layui.css" media="all">
    <script src="../Scripts/jquery-3.3.1.js"></script>
    <script src="../layui/layui.js" charset="utf-8"></script>
    <!-- 注意：如果你直接复制所有代码到本地，上述css路径需要改成你本地的 -->
    <style>
       
    </style>
</head>
<body>
    <div>
        <table class="layui-hide " id="test" lay-filter="test"></table>
    </div>
    <div class="layui-tab-item">
        <div id="pageDemo"></div>
    </div>
    <div id="test1"></div>
    



    <script>
        layui.use(['table', 'laypage', 'layer'], function ()
        {
            var table = layui.table,
                laypage = layui.laypage;

            table.render({ //相当于ajax
                elem: '#test'
              , url: 'getQuestionLibrary.aspx'
                , toolbar: true
                , title: '学生基本信息表'
              , cellMinWidth: 80 //全局定义常规单元格的最小宽度，layui 2.2.1 新增
              , cols: [[
                { field: 'student_id', width: 180, title: '学号', sort: true }
                , { field: 'student_name', width: 80, title: '姓名' }
                 , { fixed: 'right', width: 165, align: 'center', toolbar: '#barDemo' }//添加列工具条
              ]]
                , parseData: function (res)
                { //将原始数据解析成 table 组件所规定的数据，res为从url中get到的数据
                    var result;
                    //console.log(this);
                    console.log(JSON.stringify(res));
                    
                    return {
                        "code": res.code, //解析接口状态
                        "msg": res.msg, //解析提示文本
                        "count": res.count, //解析数据长度
                        "data": res.data //解析数据列表
                    };

                }
                , done: function (res, curr, count)
                {
                    //alert("f");
                    laypage.render();
                }
                , id: 'tabletest'
            });

            //监听行工具事件
            table.on('tool(test)', function (obj)
            { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
                var data = obj.data //获得当前行数据
                , layEvent = obj.event; //获得 lay-event 对应的值

                console.log(data);

                if (layEvent === 'detail')
                {
                    layer.msg('查看操作');
                } else if (layEvent === 'del')
                {
                    layer.confirm('真的删除行么', function (index)
                    {
                        obj.del(); //删除对应行（tr）的DOM结构
                        layer.close(index);
                        //向服务端发送删除指令
                        $.ajax({
                            url: './tool.aspx',
                            datatype: 'text',
                            data: { 'id': data.student_id },
                            success: function (res)
                            {
                                $(".layui-laypage-btn").click();//刷新当前分页数据
                            },
                            error: function (xhr, textStatus, errorThrown)
                            {
                                /*错误信息处理*/
                                alert("状态码：" + xhr.status + "状态:" + xhr.readyState + "错误信息:" + xhr.statusText + "请求状态：" + textStatus + errorThrown);
                                //当前状态,0-未初始化，1-正在载入，2-已经载入，3-数据进行交互，4-完成。
                                alert("返回响应信息：" + xhr.responseText);//这里是详细的信息
                            }
                        });
                    });
                } else if (layEvent === 'edit')
                {
                    layer.msg('编辑操作');
                }
            });
            laypage.render({
                elem: 'test1'
            , count: 500 //数据总数，从服务端得到
               , limit: 10                      //每页显示条数
                , limits: [10, 20, 30]
                , curr: 1                        //起始页
                , groups: 5                      //连续页码个数
                , prev: '上一页'                 //上一页文本
                , netx: '下一页'                 //下一页文本
                , first: 1                      //首页文本
                , last: 100                     //尾页文本
                , layout: ['prev', 'page', 'next', 'limit', 'refresh', 'skip']

            , jump: function (obj, first)
            {
                //obj包含了当前分页的所有参数，比如：
                console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
                console.log(obj.limit); //得到每页显示的条数
                page = obj.curr;  //改变当前页码
                limit = obj.limit;
                //首次不执行
                if (!first)
                {
                    //do something
                    
                }
            }
            });


        });

    </script>

    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
</body>
</html>
